package com.wtwd.campus.vcom.service;

import com.wtwd.campus.entity.MqPhoneDatas;
import com.wtwd.campus.vcom.entity.PhoneDataMap;
import com.wtwd.campus.vcom.entity.VcomPhoneData;

import java.util.List;

/**
 * @author mjy
 * @date 2022/02/28
 * @description
 */
public interface VcomPhoneService {


    /**
     * 回退手机号，并将状态改为正常
     *
     * @param imei
     * @param commandNumber
     * @return
     */
    Boolean fallBackPhone(String imei, String commandNumber);

    VcomPhoneData getVcomPhoneByImeiAndCommandNumber(String imei, String commandNumber);

    /**
     * 更新vcom请求 根据imei 指令类型
     * 指令状态 更新指令最后的状态
     *
     * @param imei
     * @param types
     * @param states
     * @param state
     * @return
     */
    Integer updateVcomRequestStateByTypesAndImei(String imei, List<Integer> types, List<Integer> states, int state);

    /**
     * 通过imei设置号码
     *
     * @param imei
     * @param phoneDatas(可能存在三种类型)
     * @return
     */
    Integer updatePhoneDateByImei(String imei, String type, MqPhoneDatas phoneDatas);


    /**
     * 更新获取插入设备号码
     *
     * @param imei
     * @param type
     * @param commandNumber
     * @param phoneDataMaps
     * @return
     */
    Integer insertOrUpdatePhoneData(String imei, Integer type, String commandNumber, List<PhoneDataMap> phoneDataMaps);

    /**
     * 根据imei该设备所有号码
     *
     * @param imei
     * @return
     */
    boolean deletePhone(String imei);
}
